/*
 * File:   RollServiceImplTest.h
 * Author: luk
 *
 * Created on Mar 1, 2015, 12:55:54 PM
 */

#ifndef ROLLSERVICEIMPLTEST_H
#define	ROLLSERVICEIMPLTEST_H

#include <cppunit/extensions/HelperMacros.h>

class RollServiceImplTest : public CPPUNIT_NS::TestFixture {
    CPPUNIT_TEST_SUITE(RollServiceImplTest);

    CPPUNIT_TEST(testSuccessRoll);
    CPPUNIT_TEST(testThreeAndFourRoll);
    CPPUNIT_TEST(testSeventeenAndEighteenRoll);
    CPPUNIT_TEST(testSuccessMargin);
    CPPUNIT_TEST(testFailureMargin);
    CPPUNIT_TEST(testCriticalSuccess);
    CPPUNIT_TEST(testCriticalFailure);
    CPPUNIT_TEST(testDamageRoll);

    CPPUNIT_TEST_SUITE_END();

public:
    RollServiceImplTest();
    virtual ~RollServiceImplTest();
    void setUp();
    void tearDown();

private:

    void testSuccessRoll();

    void testThreeAndFourRoll();

    void testSeventeenAndEighteenRoll();

    void testSuccessMargin();

    void testFailureMargin();

    void testCriticalSuccess();

    void testCriticalFailure();

    void testDamageRoll();
};

#endif	/* ROLLSERVICEIMPLTEST_H */

